from pwn import *

# 加载目标程序的 ELF 文件
ret2libc3 = ELF('./ret2libc3')

# 打印 plt 表，查看 puts 是否存在
print(f'PLT table: {ret2libc3.plt}')

# 打印 got 表，查看 __libc_start_main 是否存在
print(f'GOT table: {ret2libc3.got}')

print(f'main address: {hex(ret2libc3.symbols["main"])}')

# 如果 puts 存在于 plt 中，输出 puts 的地址
puts_plt = ret2libc3.plt.get('puts', None)
if puts_plt:
    print(f'puts PLT address: {hex(puts_plt)}')
else:
    print('puts not found in PLT')
